require 'rubygems'
require 'json'

require File.dirname(__FILE__) + "/../common/ItemType"

# 検索レスポンス用データクラス： 予算項目の一覧
class BudgetResult
  # コンストラクタ
  # @param {Budget[]} budgets データベースから取得した予算一覧（必要部分のみ）
  def initialize(budgets)
    # {BudgetResultItem[]} 予算一覧の実体
    @items = []

    budgets.each do |budget|
      item = BudgetResultItem.new()
      item.budgetId = budget.id
      item.budgetName = budget.name
      item.budget = budget.value
      @items.push(item)
    end
  end
  
  # 検索結果を表すJSONオブジェクトを生成する
  def toJson()
    response = {}
    response["result"] = {}
    response["result"]["type"] = ItemType::BUDGET
    response["result"]["rows"] = @items
    return JSON.dump(response)
  end
  
  # HTTPレスポンスに、検索結果を設定する
  def appendResultTo(response)
    json = toJson()
    response.body = json
  end
end

# 予算一覧の各項目
class BudgetResultItem
  # {int} 予算項目識別子
  def budgetId
    @budgetId
  end
  
  # {String} 予算項目名
  def budgetName
    @budgetName
  end
  
  # {int} 予算金額
  def budget
    @budget
  end
end
